package com.chb.service;

import com.chb.model.entity.*;
import com.chb.model.vo.BranchGoodsVo;
import com.chb.model.vo.Result;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author ：njh
 * @date ：Created in 2023/9/26 15:52
 * @description：商品模块service
 * @modified By：
 * @version:
 */
public interface GoodsService {

//    /**
//     * @param
//     * @return List<BranchGoodsVo>
//     * @create by: njh
//     * @description:查询所有商品
//     * @create time: 2023/9/27 14:59
//     */
//    public List<BranchGoodsVo> findAllGoods();

    /**
     * @param staffBranchid
     * @return
     * @create by: njh
     * @description: 带分店id叁数的查询所有商品
     * @create time: 2023/10/12 11:45
     */
    public Result findAllGoods(Integer currentPage, Integer pageSize, Integer staffBranchid);

    /**
     * @param goods
     * @return Integer
     * @create by: njh
     * @description:添加商品
     * @create time: 2023/9/27 14:59
     */
    public Integer addGoods(Goods goods);

    /**
     * @param id
     * @return Integer
     * @create by: njh
     * @description:根据id删除分店的商品信息
     * @create time: 2023/9/27 14:59
     */
    public Integer delBranchGoods(Integer id);

    /**
     * @param goods
     * @return Integer
     * @create by: njh
     * @description:编辑商品
     * @create time: 2023/9/27 14:59
     */
    public Integer updGoods(Goods goods);

    /**
     * @param goodsname,keycapid,keyboardcolor,shaftchooseid,backlightcolorid,branchid
     * @return List<BranchGoodsVo>
     * @create by: njh
     * @description:
     * @create time: 2023/9/27 14:59
     */
    public Result searchGoods(Integer currentPage, Integer pageSize, String goodsname, Integer keycapid, Integer keyboardcolor, Integer shaftchooseid, Integer backlightcolorid, Integer branchid);


    /**
     * @return
     * @create by: njh
     * @description: 查询所有键盘颜色
     * @create time: 2023/9/26 15:55
     */
    public Result findAllKeyBoardColor(Integer currentPage, Integer pageSize);

    /**
     * @param keyBoardColor
     * @return
     * @create by: njh
     * @description: 添加键盘颜色
     * @create time: 2023/9/26 17:01
     */

    public Integer addKeyBoardColor(KeyBoardColor keyBoardColor);

    /**
     * @param keyboardcolorid
     * @return Integer
     * @create by: njh
     * @description: 删除键盘颜色
     * @create time: 2023/9/26 17:44
     */
    public Integer delKeyBoardColor(Integer keyboardcolorid);


    /**
     * @param keyBoardColor
     * @return Integer
     * @create by: njh
     * @description: 编辑键盘颜色
     * @create time: 2023/9/26 17:53
     */
    public Integer updKeyBoardColor(KeyBoardColor keyBoardColor);

    /**
     * @param keyboardcolorid,keyboardcolorname
     * @return List<KeyBoardColor>
     * @create by: njh
     * @description: 根据id或颜色查询符合要求的键盘颜色信息
     * @create time: 2023/9/27 9:34
     */
    public Result searchKeyBoardColor(Integer currentPage, Integer pageSize, Integer keyboardcolorid, String keyboardcolorname);


    /**
     * @return List<ShaftChoose>
     * @create by: njh
     * @description: 查询所有轴体类型
     * @create time: 2023/9/26 15:55
     */
    public Result findAllShaftChoose(Integer currentPage, Integer pageSize);

    /**
     * @param shaftChoose
     * @return Integer
     * @create by: njh
     * @description: 添加轴体类型
     * @create time: 2023/9/26 17:01
     */
    public Integer addShaftChoose(ShaftChoose shaftChoose);

    /**
     * @param shaftchooseid
     * @return Integer
     * @create by: njh
     * @description: 删除轴体类型
     * @create time: 2023/9/26 17:44
     */
    public Integer delShaftChoose(Integer shaftchooseid);

    /**
     * @param shaftChoose
     * @return Integer
     * @create by: njh
     * @description: 编辑轴体类型
     * @create time: 2023/9/26 17:53
     */
    public Integer updShaftChoose(ShaftChoose shaftChoose);

    /**
     * @param shaftchooseid,shaftchoose
     * @return List<ShaftChoose>
     * @create by: njh
     * @description: 根据id或轴体类型查询符合要求的轴体类型信息
     * @create time: 2023/9/27 9:34
     */
    public Result searchShaftChoose(Integer currentPage, Integer pageSize, Integer shaftchooseid, String shaftchoose);


    /**
     * @return List<BackLightColor>
     * @create by: njh
     * @description: 查询所有键盘背光类型
     * @create time: 2023/9/26 15:55
     */
    public Result findAllBackLightColor(Integer currentPage, Integer pageSize);

    /**
     * @param backLightColor
     * @return Integer
     * @create by: njh
     * @description: 添加键盘背光类型
     * @create time: 2023/9/26 17:01
     */
    public Integer addBackLightColor(BackLightColor backLightColor);

    /**
     * @param backlightcolorid
     * @return Integer
     * @create by: njh
     * @description: 删除键盘背光类型
     * @create time: 2023/9/26 17:44
     */
    public Integer delBackLightColor(Integer backlightcolorid);

    /**
     * @param backLightColor
     * @return Integer
     * @create by: njh
     * @description: 编辑键盘背光类型
     * @create time: 2023/9/26 17:53
     */
    public Integer updBackLightColor(BackLightColor backLightColor);

    /**
     * @param backlightcolorid,backlightcolorname
     * @return List<BackLightColor>
     * @create by: njh
     * @description: 根据id或键盘背光查询符合要求的键盘背光信息
     * @create time: 2023/9/27 9:34
     */
    public Result searchBackLightColor(Integer currentPage, Integer pageSize, Integer backlightcolorid, String backlightcolorname);


    /**
     * @param page     当前页数
     * @param pageSize 每页展示最大数
     * @return com.chb.model.vo.Result
     * @create by: 陈海彬
     * @description: 获取添加商品所需的全部商品数据
     * @create time: 2023/9/27 20:11
     */
    Result goodsList(Integer page, Integer pageSize);


    /**
     * @param
     * @return
     * @create by: njh
     * @description: 查找下拉框要显示的所有的键帽类型
     * @create time: 2023/10/8 12:18
     */
    public List<KeyCap> searchKeyCap();


}